This invention relates to digital automatic gain control (“AGC”) circuits. AGC is used to reduce the dynamic range of received signals in a communication system. Many common AGC circuits use a feedback loop to drive the received signals to a desired reference level.
FIGS. 1 and 3 illustrate two such AGC circuits. The AGC circuit 10 of FIG. 1 includes a multiplier 15, an envelope detector 20, a summation module 25 (e.g., an adder), an accumulator 30, and a scalar multiplier module 35. A received signal, x(n) 40, which is a real or complex signal, is multiplied by an AGC circuit gain, g(n) 45, at the multiplier 15 to produce a gain adjusted signal, y(n) 50. The envelope detector 20 obtains and outputs an envelope signal 55 of the gain adjusted signal, y(n) 50. The detected envelope signal 55 is subtracted from a reference signal, R 60, at the summation module 25 and an error signal, e(n) 65, is generated.
The accumulator 30 is illustrated in greater detail in FIG. 2. An input signal, such as the error signal, e(n) 65, is added to a delayed output, a(n) 70, by an adder 75. An output 80 of the adder 75 is delayed by a delay module 85 by, for example, one symbol, and the delayed signal is the output, a(n) 70, of the accumulator 30. With reference once again to FIG. 1, the output, a(n) 70, from the accumulator 30 is adjusted in the scalar multiplier module 35 by a scalar value, α, to control the convergence speed of the AGC circuit 10. For example, for a scaled step function input x(n)=cu(n), the output, g(n) 45, of the scalar multiplier module 35 is given by EQN. 1 below, which results in an AGC loop time constant that is approximately equal to 1/αc
                              g          ⁡                      (            n            )                          =                                            R              c                        ⁡                          [                              1                -                                                      (                                          1                      -                                              α                        ⁢                                                                                                  ⁢                        c                                                              )                                    n                                            ]                                ⁢                      u            ⁡                          (              n              )                                                          EQN        .                                  ⁢        1            
As such, the linear AGC circuit 10 of FIG. 1 has a different AGC convergence speed for different signal levels, c, of the received signal, x(n) 40. If the received signal, x(n) 40, is weak, the time constant is large, and the AGC convergence speed is slow. If the received signal, x(n) 40, is strong, the time constant is small, and the AGC convergence speed is fast. Following stabilization, the AGC circuit 10 drives the signal level of the gain adjusted signal, y(n) 50, to the signal level of the reference signal, R 60.
Although the signal level of the received signal, x(n) 40, appears to be constant or approximately constant when viewed over a long period of time, the short term or instantaneous signal level of the received signal, x(n) 40, is continuously changing. The instantaneous signal level depends on, among other things, the transmitted symbols, channel response, and noise. The statistics (e.g., variance) of the AGC circuit 10 are different for different signal levels of the received signal, x(n) 40. Changes in the instantaneous signal level introduce noise into the AGC circuit gain, g(n) 45, and therefore, also introduce noise into the AGC output signal, y(n) 50. For the AGC circuit 10 of FIG. 1, more noise is introduced for strong received signals than for weak received signals.
The relationship between the signal level of the received signal, x(n) 40, and the noise introduced into the AGC circuit 10 of FIG. 1 is given below. Following stabilization of the AGC circuit, the relations of EQNS. 2 and 3 hold.
                                          a            ⁡                          (              n              )                                ⁢          α          ⁢                                          ⁢                      x            ⁡                          (              n              )                                      =                              R            ⇒                          a              ⁡                              (                n                )                                              =                      R                          α              ⁢                                                          ⁢                              x                ⁡                                  (                  n                  )                                                                                        EQN        .                                  ⁢        2                        and                                                                a          ⁡                      (            n            )                          =                                            a              ⁡                              (                                  n                  -                  1                                )                                      ⁢                          (                              1                -                                  α                  ⁢                                                                          ⁢                                      x                    ⁡                                          (                      n                      )                                                                                  )                                +          R                                    EQN        .                                  ⁢        3            where a(n) is the output 70 of the accumulator 30.
If the received signal, x(n) 40, is changed to x(n+1)=x(n)(1+Δ), the relative change in gain, Δgr(n), is given by EQN. 4.
                              Δ          ⁢                                          ⁢                                    g              r                        ⁡                          (              n              )                                      =                                                            a                ⁡                                  (                                      n                    +                    1                                    )                                            -                              a                ⁡                                  (                  n                  )                                                                    a              ⁡                              (                n                )                                              ≈                                                    -                Δ                            ⁢                                                          ⁢              R                                      a              ⁡                              (                n                )                                                                        EQN        .                                  ⁢        4            
Because the relative gain change depends inversely on the output, a(n) 70, of the accumulator 30, and because a(n) is small for strong signals, the variance in the AGC circuit gain, g(n) 45, is large for strong signals.
FIG. 3 illustrates another common AGC circuit 100. The circuit 100 includes a multiplier 105, an envelope detector 110, a logarithm module 115, a summation module 120, an accumulator 125, a scalar multiplier module 130, and an exponential module 135. A received signal, x(n) 140, is multiplied by an AGC gain, g(n) 145, at the multiplier 105. An output, y(n) 150, of the multiplier 105 is input to the envelope detector 110. An output 155 of the envelope detector 110 is converted to a log scale by the logarithm module 115. An output 160 of the logarithm module 115 is subtracted from a reference signal, R 165, at the summation module 120 to obtain an error signal, e(n) 170. The accumulator 125 functions in a manner similar to the accumulator 30 described above, and an output, a(n) 175, of the accumulator 125 is adjusted by a scalar value, α, in the scalar multiplier module 130 to control the convergence speed of the AGC circuit 100. An output 180 of the scalar multiplier module 130 is converted to a linear scale by an exponential module 135 to obtain the AGC circuit gain, g(n) 145.
The AGC circuit 100 is able to achieve approximately the same convergence speed and statistics for received signals having different signal levels. However, a primary disadvantage of the AGC circuit 100 is the complexity involved in implementing the circuit 100.